Handheld computer devices typically allow a user to synchronize data between the handheld computer device and another computer, such as a user's desktop computer. This type of synchronization allows both computers to maintain the same set of information, such as the same calendar, thereby allowing the user to view his/her calendar on either the desktop computer or the handheld computer device. The synchronization is typically performed by coupling together the host computer with a handheld computer through a mechanical and electrical connection provided by a dock, though synchronization can also be performed wirelessly (e.g., over-the-air (OTA) synchronization). However, synchronization between more than two computers (e.g., multiple desktop computers and a handheld computer device) presents added challenges.
Two synchronizing computers might exchange one or more identifiers after a successful synchronization in order to save the synchronization state between the two computers. During future synchronizations, the synchronization states of the two computers can be compared. This comparison facilitates faster synchronization as well as data integrity during synchronization. However, existing synchronization techniques are insufficient for synchronizing data between a handheld computer device and multiple desktop computers (e.g., a home computer and a work computer). More specifically, existing synchronization techniques can be the source of data loss and other synchronization errors when more than two computers are involved.
Furthermore, various synchronization applications allow a user to apply filters during synchronization. For example, a user may set a filter that causes only work-related contact information to be synchronized between a handheld computer device and a desktop computer at work. However, in a scenario where a handheld computer device is synchronized with two different computers (e.g., a home computer and a work computer), differing filter settings on the different computers can be a further source of data loss and other synchronization errors.